<html lang="en">
  <head>
    <meta charset="UTF-8" />
    <meta http-equiv="X-UA-Compatible" content="IE=edge" />
    <meta name="viewport" content="width=device-width, initial-scale=1.0" />
    <title>Document</title>
  </head>
  <body>
    <script>
      const LongestSubstring = function (str) {
       const arr= str.split('')
      //  console.log(arr);
      let i=0  // 记录循环次数
      let newArr=[]  // 存放未重复字符
      let numArr=[]  // 记录长度
      for(let j=0;j<arr.length;j++) {
        if(newArr.indexOf(arr[j])=== -1){
          newArr.push(arr[j])  // newArr中不包含就把当前字符push进数组
          console.log(newArr); 
          numArr.push(newArr.length)// 并且把当前未重复的字符长度记录到numArr
        }else {
          console.log(numArr);
          newArr=[]  // 如果有重复的了就把newArr清空
          i++  // 循环次数+1 
          j=i-1 // 因为循环里j会++ 所以j=i-1 会使在下一次循环时j=i  让j从arr重复字符的下一个开始遍历
        }
      }
      numArr.sort((a,b)=>b-a)
      // console.log(numArr);
      return numArr[0]

      }
      console.log(LongestSubstring('abcaoubqwe'));
    </script>
  </body>
</html>
